package com.ljf.daily.makemoneydetail.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import com.ljf.daily.makemoneydetail.enums.DailyDatMakeMoneyDetailTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 赚钱明细记录对象  daily_dat_make_money_detail
 *
 * @author LJF
 * @since 2024-01-19
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("赚钱明细记录")
@EqualsAndHashCode(callSuper = true)
@TableName("daily_dat_make_money_detail")
public class DailyDatMakeMoneyDetail extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link DailyDatMakeMoneyDetail#COL_ID}
	 */
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(12)
	 * 注释: 归属赚钱软件编码
	 * {@link DailyDatMakeMoneyDetail#COL_SOFTWARE_CODE}
	 */
	@TableField("software_code")
	@JsonProperty("softwareCode")
	@ApiModelProperty(value = "归属赚钱软件编码")
	private String softwareCode;

	/**
	 * Java类型: BigDecimal
	 * 数据库类型: decimal(8,2)
	 * 注释: 提现统计
	 * {@link DailyDatMakeMoneyDetail#COL_WITHDRAWAL_COUNT}
	 */
	@TableField("withdrawal_count")
	@JsonProperty("withdrawalCount")
	@ApiModelProperty(value = "提现统计")
	private BigDecimal withdrawalCount;

	/**
	 * Java类型: Date
	 * 数据库类型: date
	 * 注释: 归属时间
	 * {@link DailyDatMakeMoneyDetail#COL_BELONG_DATE}
	 */
	@TableField("belong_date")
	@JsonProperty("belongDate")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ApiModelProperty(value = "归属时间")
	private Date belongDate;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(20)
	 * 注释: 备注
	 * {@link DailyDatMakeMoneyDetail#COL_REMARK}
	 */
	@TableField("remark")
	@JsonProperty("remark")
	@ApiModelProperty(value = "备注")
	private String remark;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint(1)
	 * 注释: 类型(1:新增;2:调整;3:导入;4:转账;5:自动记录;6:费用)
	 * {@link DailyDatMakeMoneyDetail#COL_TYPE}
	 * {@link DailyDatMakeMoneyDetailTypeEnum}
	 */
	@TableField("type")
	@JsonProperty("type")
	@ApiModelProperty(value = "类型")
	private Integer type;


	/**
	 * ID
	 * {@link DailyDatMakeMoneyDetail#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 归属赚钱软件编码
	 * {@link DailyDatMakeMoneyDetail#softwareCode}
	 */
	public static final String COL_SOFTWARE_CODE = "software_code";
	/**
	 * 提现统计
	 * {@link DailyDatMakeMoneyDetail#withdrawalCount}
	 */
	public static final String COL_WITHDRAWAL_COUNT = "withdrawal_count";
	/**
	 * 归属时间
	 * {@link DailyDatMakeMoneyDetail#belongDate}
	 */
	public static final String COL_BELONG_DATE = "belong_date";
	/**
	 * 备注
	 * {@link DailyDatMakeMoneyDetail#remark}
	 */
	public static final String COL_REMARK = "remark";
	/**
	 * 类型(1:新增;2:调整;3:导入;4:转账;5:自动记录;6:费用)
	 * {@link DailyDatMakeMoneyDetail#type}
	 */
	public static final String COL_TYPE = "type";

}
